Designing and implementing an application programming interface (API) presents multiple challenges. For example, for a network-based API, there are an innumerable number of protocols and serialization formats that two hosts can use to communicate. Gaining widespread adoption can also be difficult because software developers, such as individual developers and organizations, may prefer certain programming languages (e.g., Java®, C, C++, Python, C#, R, PHP, JavaScript®, Ruby, MATLAB®, etc.), programming paradigms or styles (e.g., procedural, object-oriented, imperative, functional, declarative, etc.), and/or data exchange formats (e.g., Extensible Markup Language (XML), JavaScript® Object Notation (JSON), comma-separated values (CSV), etc.). These preferences may abruptly change. For instance, the recent shift from XML to JSON over HTTP exemplifies how preferred interface formats can seemingly change overnight. Furthermore, once an API has been established, it may become necessary to modify an API method or endpoint, such as a number of inputs and/or outputs, input and/or output data type(s), input and/or output format, among other changes. Systems that implement the API may be required to support previous versions as well as the latest versions. Managing an API across multiple programming languages and platforms, programming paradigms, and versions introduces inconsistencies and errors and hinders adoption of the API.